package org.ix.dynamicapis.presentation.entity;

import org.ix.dynamicapis.model.BaseEntity;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Collection;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 接口配置实体
 *
 * @author 郗世豪（rarexixi@gmail.com）
 */
@Getter
@Setter
@ToString
public class ApiEntity extends BaseEntity {

    /**
     * 接口ID
     */
    private Integer id;

    /**
     * 所属业务系统
     */
    private String systemCode;

    /**
     * 数据来源
     */
    private String datasource;

    /**
     * 接口说明
     */
    private String name;

    /**
     * 版本 (格式：v主版本号-次版本号)
     */
    private String version;

    /**
     * 主题
     */
    private String topic;

    /**
     * 接口路径
     */
    private String apiPath;

    /**
     * sql返回结果 (1:List, 2:Object)
     */
    private Integer resultType;

    /**
     * MyBatis的执行sql
     */
    private String mybatisSql;

    /**
     * 是否有参数(0否, 1是)
     */
    private Integer hasParams;

    /**
     * 是否临时接口 (0否，1是)
     */
    private Integer temporary;

    /**
     * 过期时间
     */
    private LocalDateTime expires;

    /**
     * 是否可以缓存(0否, 1是)
     */
    private Integer cacheable;

    /**
     * 缓存时长 (单位:分钟，默认一天)
     */
    private Integer cacheTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 扩展信息
     */
    private String extInfo;
}
